home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / mail / mh / contrib / jpeek / reheader < prev    next >
Text File  |  1992-08-09  |  3KB  |  74 lines

  1. #! /bin/sh
  2. # $Header: /home/jerry/.bin/RCS/reheader,v 1.0 92/08/10 11:35:10 jerry mh_contrib $
  3. ###    reheader - "move header" in MH message by adding "X-Original-line:"
  4. ###    Usage: reheader [msg]
  5. ##
  6. ##    SOME MESSAGES, ESPECIALLY MAIL MESSAGES THAT WERE FORWARDED FROM A
  7. ##    PROGRAM LIKE UNIX mail, HAVE A LOT OF LINES OF JUNK (OR MAYBE EVEN
  8. ##    AN EXTRA HEADER) AT THE TOP.  THE HEADER YOU REALLY WANT IS BURIED
  9. ##    DOWN IN THE MESSAGE.  BUT IT'S NOT ALWAYS A GOOD IDEA TO EDIT THE
  10. ##    MESSAGE AND DELETE THE EXTRA JUNK; YOU MIGHT NEED IT.
  11. ##
  12. ##    reheader WORKS AROUND THE PROBLEM BY ADDING DUMMY HEADERS TO THE START
  13. ##    OF EVERY LINE YOU WANT TO IGNORE.  THE MESSAGE WILL LOOK LIKE THIS:
  14. ##
  15. ##        X-Original-Text: Received: by rock.ora.com (5.65c/Spike-2.1)
  16. ##        X-Original-Text:        id AA01408; Mon, 27 Apr 1992 08:28:06 -0700
  17. ##        X-Original-Text: Date: Mon, 27 Apr 1992 08:28:06 -0700
  18. ##        X-Original-Text: From: awilda@rock.ora.com (Awilda Scott)
  19. ##        X-Original-Text: Message-Id: <199204271528.AA01408@rock.ora.com>
  20. ##        X-Original-Text: To: jerry@rock.ora.com
  21. ##        X-Original-Text: Subject: news admin guidelines
  22. ##        X-Original-Text: 
  23. ##        X-Original-Text: >From daemon@ora.com Sun Apr 26 21:11:57 1992
  24. ##        Received: by rock.ora.com (5.65c/Spike-2.1)
  25. ##                id AA00811; Sun, 26 Apr 1992 21:11:57 -0700
  26. ##        From: xxx@yyy.cc.purdue.edu (Joe Doe)
  27. ##        To: nuts@ora.com
  28. ##        Subject: Question about news
  29. ##
  30. ##    WHEN YOU USE repl, IT WILL REPLY TO THE ORIGINAL SENDER (LIKE Joe Doe)
  31. ##    WHEN YOU USE scan, IT WILL scan THE ORIGINAL MESSAGE.
  32. ##    FOR SHOWING AND FORWARDING YOUR MESSAGES, USE mhl AND THIS LINE:
  33. ##        ignores=x-original-text
  34. ##    THE ORIGINAL TEXT WILL BE THERE IF YOU NEED IT, BUT OTHER MH COMMANDS
  35. ##    WILL IGNORE IT.
  36. #
  37. #    NOTE TO HACKERS: TABSTOPS SET AT 4 IN THIS CODE
  38. #
  39. #    USE AT YOUR OWN RISK.  SEEMS TO WORK, BUT IT'S YOUR RESPONSIBILITY!
  40. #    PLEASE TELL ME ABOUT BUGS AND FIXES: Jerry Peek, jerry@ora.com
  41.  
  42. pager=${PAGER-less}        # USE $PAGER AS PAGER, DEFAULT TO less
  43. numberer="cat -n"        # IF YOU DON'T HAVE THIS, USE pr -t -n
  44.  
  45. # UNCOMMENT THE RIGHT LINE FOR YOUR UNIX:
  46. # echo="echo -n" nnl=     # BSD
  47. # echo=echo      nnl="\c"    # SYSV
  48. echo="echo -n" nnl=     PATH=/usr/bin:$PATH; export PATH    # SunOS
  49.  
  50. msg="`mhpath ${1-cur}`"    # SHOULD REALLY BE BETTER!
  51. if [ ! -r "$msg" ] ; then
  52.     echo "`basename $0` quitting: can't read message $msg." 1>&2
  53.     exit 1
  54. fi
  55.  
  56. echo "Pick last line number which should be commented out:"
  57. $numberer $msg | $pager
  58. $echo "Enter last line number to comment out; or 0 or RETURN to quit: $nnl"
  59. read lastline
  60. # THIS SHOULD DO MORE CHECKING!
  61. case "$lastline" in
  62. 0|"")
  63.     echo "`basename $0`: quitting." 1>&2
  64.     exit 1
  65.     ;;
  66. *)    # EDIT MESSAGE:
  67.     /bin/ed - "$msg" <<- ENDOFSCR
  68.     1,${lastline}s/^/X-Original-Text: /
  69.     w
  70.     ENDOFSCR
  71.     exit    # WITH ed STATUS... PROBABLY ALWAYS 0, SIGH
  72.     ;;
  73. esac
  74.